<!DOCTYPE HTML>
<html>
<head>
<title>FileCreateShortcut | AutoHotkey</title>
<meta name="description" content="The FileCreateShortcut command creates a shortcut (.lnk) file." />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>FileCreateShortcut</h1>

<p>创建快捷方式(.lnk) 文件.</p>

<pre class="Syntax"><span class="func">FileCreateShortcut</span>, Target, LinkFile <span class="optional">, WorkingDir, Args, Description, IconFile, ShortcutKey, IconNumber, RunState</span></pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>Target</dt>
  <dd><p>快捷方式引用的文件的名称, 除非文件集成到了系统中(如 Notepad.exe), 否则应该包含绝对路径. 创建快捷方式时它指向的文件不一定需要存在; 但是, 如果不存在, 某些系统可能会<a href="https://devblogs.microsoft.com/oldnewthing/20180509-00/?p=98715">以意想不到的方式改变路径</a>.</p></dd>

  <dt>LinkFile</dt>
  <dd><p>要创建的快捷方式文件名, 如果未指定绝对路径, 则假定在 <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a>. 必须确保扩展名为 <strong>.lnk</strong>. 目标目录必须已经存在. 如果文件已经存在, 则它会被覆盖.</p></dd>

  <dt>WorkingDir</dt>
  <dd><p>启动快捷方式时 <em>Target</em> 的当前工作目录. 如果为空或省略, 则快捷方式的 "起始位置" 字段为空, 而当快捷方式启动时系统会提供默认的工作目录.</p></dd>

  <dt>Args</dt>
  <dd><p>启动快捷方式时传递给 <em>Target</em> 的参数. 参数之间使用空格分隔. 如果某个参数包含空格, 则要把它括在双引号中.</p></dd>

  <dt>Description(备注)</dt>
  <dd><p>描述快捷方式的注释(由操作系统用于显示在 ToolTip(工具提示) 中, 等等.)</p></dd>

  <dt>IconFile</dt>
  <dd><p>显示在 <em>LinkFile</em> 中图标的完整路径和名称. 它必须为必须为 ico 文件或者 EXE 或 DLL 中的首个图标.</p></dd>

  <dt>ShortcutKey</dt>
  <dd><p>单个字母, 数字或在<a href="../KeyList.htm">按键列表</a>中的单个按键的名称(可能不支持鼠标按钮或其他非标准的按键). <strong>不要</strong> 包含修饰符. 目前, 所有创建的快捷键都使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd> 作为修饰键. 例如, 如果在此参数中指定字母 B, 则快捷键将为 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>B</kbd>.</p></dd>

  <dt>IconNumber</dt>
  <dd><p>要使用 <em>IconFile</em> 首个外的其他图标, 请在这里指定编号(可以为<a href="../Variables.htm#Expressions">表达式</a>). 例如, 2 表示第二个图标.</p></dd>

  <dt>RunState</dt>
  <dd><p>要最小化或最大化运行 <em>Target</em>. 如果空白或省略, 则默认为 1(正常). 否则, 请指定下列数字的其中一个:</p>
    <ul>
      <li>1 = 正常</li>
      <li>3 = 最大化</li>
      <li>7 = 最小化</li>
    </ul>
  </dd>

</dl>
<h2 id="Error_Handling">错误处理</h2>
<p><span class="ver">[v1.1.04+]</span>: 此命令失败时会抛出异常. 想了解更多信息, 请参阅<a href="Catch.htm#RuntimeErrors">运行时错误</a>.</p>
<p>如果遇到问题则 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 被置为 1, 否则为 0.</p>
<h2 id="Remarks">备注</h2>
<p>如果 <em>Target</em> 在系统 PATH 环境变量包含的某个文件夹中, 则其中可以不包含路径.</p>
<p>只有把快捷方式文件放在桌面或开始菜单的某个位置, 这样新建快捷方式的 <em>ShortcutKey</em> 才会生效. 如果您选择的 <em>ShortcutKey</em> 已经在使用中, 那么您新建的快捷方式具有优先权.</p>
<p>创建到 URL 的快捷方式的另一种方法是下面这个例子, 其中创建了特殊的 URL 快捷方式. 根据你的需要改变前两个参数:</p>
<pre><a href="IniWrite.htm">IniWrite</a>, https://www.google.com, C:\My Shortcut.url, InternetShortcut, URL</pre>
<p>使用下面的语句可以给上面的快捷方式添加图标:</p>
<pre><a href="IniWrite.htm">IniWrite</a>, &lt;IconFile&gt;, C:\My Shortcut.url, InternetShortcut, IconFile
<a href="IniWrite.htm">IniWrite</a>, 0, C:\My Shortcut.url, InternetShortcut, IconIndex</pre>
<p>在上面的语句中, 请把 0 替换为图标的索引(0 表示首个图标) 并把 &lt;IconFile&gt; 替换为 URL, EXE, DLL 或 ICO 文件. 例如: C:\Icons.dll, C:\App.exe, https://www.somedomain.com/ShortcutIcon.ico</p>
<p>操作系统会将上面创建的 .URL 文件视为真正的快捷方式, 尽管它只是纯文本文件而不是 .LNK 文件.</p>
<h2 id="Related">相关</h2>
<p><a href="FileGetShortcut.htm">FileGetShortcut</a>, <a href="FileAppend.htm">FileAppend</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 最后的参数字母 "i" 将快捷键设成 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>I</kbd>.</p>
<pre>FileCreateShortcut, Notepad.exe, %A_Desktop%\My Shortcut.lnk, C:\, "%A_ScriptFullPath%", My Description, C:\My Icon.ico, i</pre>
</div>

</body>
</html>